package com.order.www;

import java.util.Arrays;

/**
 * Creared with IntelliJ IDEA.
 * Description:输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有的奇数位于数组的前半部分，所有的偶数位于数组的后半部分，
 * 并保证奇数和奇数，偶数和偶数之间的相对位置不变。
 * User:yxd
 * Date:2022-01-30
 * Time:22:00
 */
public class Array3 {
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5,6};
        reOrderArray(array);
        System.out.println(Arrays.toString(array));
    }
    public static void reOrderArray(int [] array) {
        if(array == null || array.length == 0)return;
        int k = 0;//奇数的个数
        for(int i = 0;i < array.length;i ++){
            if((array[i] & 1) == 1){//奇数
                int tmp = array[i];
                int j = i;
                while(j > k){
                    //把这个奇数应该放在第k个位置，这个奇数取出来后应该把前面的到k的所有元素后移一位然后将此奇数插入到应该的位置
                    array[j] = array[j - 1];
                    j --;
                }
                array[k ++] = tmp;
            }
        }
    }
}
